#ifndef DEF_GFX_ENGINE_H
#define DEF_GFX_ENGINE_H

#include <list>
#include <string>

#include "engine.h"

/* Includes SFML */
#include <SFML/Window.hpp>
#include <SFML/Graphics.hpp>

using namespace sf;//propre à la SFML

class graphics_engine : public engine
{
   public:

      graphics_engine(game *p) : engine(p) 
      {
         mainWindow.Create(VideoMode(800,600), "Tower Defense");//Creer la fenetre du jeu en mode 800/600 avec comme titre Tower Defense
         init_fonts(); //Load nos fonts
      }
      ~graphics_engine();

      void frame();
      void process_event(engine_event &event);

   private:

      void draw_text(string txt, int font_id, float size, Vector2<float> pixel_coord, Color color, float ms);   
      void init_fonts();

      RenderWindow mainWindow;
      vector<Drawable*> permanent;
      vector<Font> font;
};

#endif
